\hypertarget{class_zebulon_1_1_underwater_1_1_rabbit_component}{
\section{Zebulon::Underwater::RabbitComponent Class Reference}
\label{class_zebulon_1_1_underwater_1_1_rabbit_component}\index{Zebulon::Underwater::RabbitComponent@{Zebulon::Underwater::RabbitComponent}}
}
\subsection*{Classes}
\begin{DoxyCompactItemize}
\item 
class {\bfseries RabbitCallback}
\end{DoxyCompactItemize}
\subsection*{Public Member Functions}
\begin{DoxyCompactItemize}
\item 
\hypertarget{class_zebulon_1_1_underwater_1_1_rabbit_component_a75e4ec6c660a406ab6184e3457bd6654}{
\hyperlink{class_zebulon_1_1_underwater_1_1_rabbit_component_a75e4ec6c660a406ab6184e3457bd6654}{RabbitComponent} ()}
\label{class_zebulon_1_1_underwater_1_1_rabbit_component_a75e4ec6c660a406ab6184e3457bd6654}

\begin{DoxyCompactList}\small\item\em Constructor. \item\end{DoxyCompactList}\item 
\hypertarget{class_zebulon_1_1_underwater_1_1_rabbit_component_a26a43645acc650d4a69493f89511c9f9}{
\hyperlink{class_zebulon_1_1_underwater_1_1_rabbit_component_a26a43645acc650d4a69493f89511c9f9}{$\sim$RabbitComponent} ()}
\label{class_zebulon_1_1_underwater_1_1_rabbit_component_a26a43645acc650d4a69493f89511c9f9}

\begin{DoxyCompactList}\small\item\em Destructor. \item\end{DoxyCompactList}\item 
\hypertarget{class_zebulon_1_1_underwater_1_1_rabbit_component_a2ca44e1b5e7dbede14a45a0208069191}{
virtual int \hyperlink{class_zebulon_1_1_underwater_1_1_rabbit_component_a2ca44e1b5e7dbede14a45a0208069191}{SetupService} ()}
\label{class_zebulon_1_1_underwater_1_1_rabbit_component_a2ca44e1b5e7dbede14a45a0208069191}

\begin{DoxyCompactList}\small\item\em Reports what jaus messages we support. \item\end{DoxyCompactList}\item 
\hypertarget{class_zebulon_1_1_underwater_1_1_rabbit_component_a347175959128452ebfc6935c4738336a}{
virtual int \hyperlink{class_zebulon_1_1_underwater_1_1_rabbit_component_a347175959128452ebfc6935c4738336a}{Initialize} (const unsigned int delay=1000)}
\label{class_zebulon_1_1_underwater_1_1_rabbit_component_a347175959128452ebfc6935c4738336a}

\begin{DoxyCompactList}\small\item\em Initialize communications thread, and jaus interface. \item\end{DoxyCompactList}\item 
\hypertarget{class_zebulon_1_1_underwater_1_1_rabbit_component_a292c92010dbaccf31d7242970845850d}{
virtual int \hyperlink{class_zebulon_1_1_underwater_1_1_rabbit_component_a292c92010dbaccf31d7242970845850d}{ProcessCommandMessage} (const Jaus::Message $\ast$message, const Jaus::Byte authority)}
\label{class_zebulon_1_1_underwater_1_1_rabbit_component_a292c92010dbaccf31d7242970845850d}

\begin{DoxyCompactList}\small\item\em Process command messages. \item\end{DoxyCompactList}\item 
\hypertarget{class_zebulon_1_1_underwater_1_1_rabbit_component_a946780834bea2d5f9eb733121782d504}{
virtual int \hyperlink{class_zebulon_1_1_underwater_1_1_rabbit_component_a946780834bea2d5f9eb733121782d504}{ProcessQueryMessage} (const Jaus::Message $\ast$message)}
\label{class_zebulon_1_1_underwater_1_1_rabbit_component_a946780834bea2d5f9eb733121782d504}

\begin{DoxyCompactList}\small\item\em Processs query messages. \item\end{DoxyCompactList}\item 
virtual int \hyperlink{class_zebulon_1_1_underwater_1_1_rabbit_component_ad5089d307cf66ddf439d93cf42356413}{GenerateEvent} (const Jaus::Event $\ast$eventInfo)
\begin{DoxyCompactList}\small\item\em Confirms the types of events this class will generate. \item\end{DoxyCompactList}\item 
virtual int \hyperlink{class_zebulon_1_1_underwater_1_1_rabbit_component_a56101f6b046f5d40f77e5028dbcc7519}{ProcessEventRequest} (const Jaus::CreateEventRequest \&command, Jaus::Byte \&responseValue, double \&confirmedRate, std::string \&errorMessage) const 
\begin{DoxyCompactList}\small\item\em Confirms the types of events this class will generate. \item\end{DoxyCompactList}\item 
void \hyperlink{class_zebulon_1_1_underwater_1_1_rabbit_component_a256a5efc6923201afa9c56e133200a44}{SetMicroController} (\hyperlink{class_zebulon_1_1_m_c_u_1_1_interface}{MCU::Interface} $\ast$microController)
\begin{DoxyCompactList}\small\item\em Sets the microcontroller we will be using to interface with sensors. \item\end{DoxyCompactList}\item 
\hypertarget{class_zebulon_1_1_underwater_1_1_rabbit_component_a40d837bc98bf00f923c25060847433a0}{
bool {\bfseries IsRabbitResponsive} ()}
\label{class_zebulon_1_1_underwater_1_1_rabbit_component_a40d837bc98bf00f923c25060847433a0}

\item 
\hypertarget{class_zebulon_1_1_underwater_1_1_rabbit_component_a84d4bf539319b318d1c321bf7e70ff66}{
void \hyperlink{class_zebulon_1_1_underwater_1_1_rabbit_component_a84d4bf539319b318d1c321bf7e70ff66}{PrintStatus} () const }
\label{class_zebulon_1_1_underwater_1_1_rabbit_component_a84d4bf539319b318d1c321bf7e70ff66}

\begin{DoxyCompactList}\small\item\em Prints status of component including important internal values. \item\end{DoxyCompactList}\end{DoxyCompactItemize}


\subsection{Member Function Documentation}
\hypertarget{class_zebulon_1_1_underwater_1_1_rabbit_component_ad5089d307cf66ddf439d93cf42356413}{
\index{Zebulon::Underwater::RabbitComponent@{Zebulon::Underwater::RabbitComponent}!GenerateEvent@{GenerateEvent}}
\index{GenerateEvent@{GenerateEvent}!Zebulon::Underwater::RabbitComponent@{Zebulon::Underwater::RabbitComponent}}
\subsubsection[{GenerateEvent}]{\setlength{\rightskip}{0pt plus 5cm}int RabbitComponent::GenerateEvent (const Jaus::Event $\ast$ {\em eventInfo})\hspace{0.3cm}{\ttfamily  \mbox{[}virtual\mbox{]}}}}
\label{class_zebulon_1_1_underwater_1_1_rabbit_component_ad5089d307cf66ddf439d93cf42356413}


Confirms the types of events this class will generate. 
\begin{DoxyParams}{Parameters}
\item[\mbox{$\leftarrow$} {\em command}]\item[\mbox{$\leftarrow$} {\em responseValue}]\item[\mbox{$\leftarrow$} {\em confirmedRate}]\item[\mbox{$\leftarrow$} {\em errorMessage}]\end{DoxyParams}
\hypertarget{class_zebulon_1_1_underwater_1_1_rabbit_component_a56101f6b046f5d40f77e5028dbcc7519}{
\index{Zebulon::Underwater::RabbitComponent@{Zebulon::Underwater::RabbitComponent}!ProcessEventRequest@{ProcessEventRequest}}
\index{ProcessEventRequest@{ProcessEventRequest}!Zebulon::Underwater::RabbitComponent@{Zebulon::Underwater::RabbitComponent}}
\subsubsection[{ProcessEventRequest}]{\setlength{\rightskip}{0pt plus 5cm}int RabbitComponent::ProcessEventRequest (const Jaus::CreateEventRequest \& {\em command}, \/  Jaus::Byte \& {\em responseValue}, \/  double \& {\em confirmedRate}, \/  std::string \& {\em errorMessage}) const\hspace{0.3cm}{\ttfamily  \mbox{[}virtual\mbox{]}}}}
\label{class_zebulon_1_1_underwater_1_1_rabbit_component_a56101f6b046f5d40f77e5028dbcc7519}


Confirms the types of events this class will generate. 
\begin{DoxyParams}{Parameters}
\item[\mbox{$\leftarrow$} {\em command}]\item[\mbox{$\leftarrow$} {\em responseValue}]\item[\mbox{$\leftarrow$} {\em confirmedRate}]\item[\mbox{$\leftarrow$} {\em errorMessage}]\end{DoxyParams}
\hypertarget{class_zebulon_1_1_underwater_1_1_rabbit_component_a256a5efc6923201afa9c56e133200a44}{
\index{Zebulon::Underwater::RabbitComponent@{Zebulon::Underwater::RabbitComponent}!SetMicroController@{SetMicroController}}
\index{SetMicroController@{SetMicroController}!Zebulon::Underwater::RabbitComponent@{Zebulon::Underwater::RabbitComponent}}
\subsubsection[{SetMicroController}]{\setlength{\rightskip}{0pt plus 5cm}void RabbitComponent::SetMicroController ({\bf MCU::Interface} $\ast$ {\em microController})}}
\label{class_zebulon_1_1_underwater_1_1_rabbit_component_a256a5efc6923201afa9c56e133200a44}


Sets the microcontroller we will be using to interface with sensors. and devices.


\begin{DoxyParams}{Parameters}
\item[\mbox{$\leftarrow$} {\em microController}]interface to microcontroller we will use, in this case the rabbit. \end{DoxyParams}


The documentation for this class was generated from the following files:\begin{DoxyCompactItemize}
\item 
C:/Users/Matt/Documents/School/Robotics/zebulon/v2/underwater/include/underwater/\hyperlink{rabbitcomponent_8h}{rabbitcomponent.h}\item 
C:/Users/Matt/Documents/School/Robotics/zebulon/v2/underwater/src/underwater/\hyperlink{rabbitcomponent_8cpp}{rabbitcomponent.cpp}\end{DoxyCompactItemize}
